Overview¶ 一 python中一切皆对象 1 python中一切皆对象 2 type、object和class之间的关系 3 python中的内置类型 4 本章小结 二 魔法函数 1 什么是魔法函数 2 python数据模型对python的影响 3 python魔法函数一览 4 len函数的特殊性 5 本章小结 三 深入类和对象 1 鸭子类型和多态 2 抽象基类(abc模块) - 1 3 抽象基类(abc模块) - 2 4 isinstance和type的区别 5 类变量和实例变量 6 类和实例属性的查找顺序—mro查找 7 类方法、静态方法和实例方法 8 数据封装和私有属性 9 python对象的自省机制 10 super真的是调用父类吗? 11 mixin继承案例-django rest framework 12 python中的with语句 13 contextlib简化上下文管理器 14 本章小结 四 自定义序列类 1 python中的序列分类 2 python中序列类型的abc继承关系 3 list中extend方法区别 4 实现可切片的对象 5 bisect维护已排序序列 6 什么时候我们不该使用列表 7 列表推导式、生成器表达式、字典推导式 8 本章小结 五 深入python的set和dict 1 dict的abc继承关系 2 dict的常用方法 3 dict的子类 4 set和frozenset 5 dict和set的实现原理 6 本章小结 六 对象引用、可变性和垃圾回收 1 python中的变量是什么 2 ==和is的区别 3 del语句和垃圾回收 4 一个经典的参数错误 5 本章小结 七 元类编程 1 property动态属性 2 __getattr__、__getattribute__魔法函数 3 属性描述符和属性查找过程 4 __new__和__init__的区别 5 自定义元类 6 通过元类实现orm-1 7 通过元类实现orm-2 8 本章小结 八 迭代器和生成器 1 python中的迭代协议 2 什么是迭代器和可迭代对象 3 生成器函数的使用 4 python是如何实现生成器的 5 生成器在UserList中的应用 6 生成器如何读取大文件 7 本章小结 九 python socket编程 1 弄懂 HTTP、Socket、TCP 这几个概念 2 socket 和 server 实现通信 3 socket 实现聊天和多用户连接 4 socket 模拟 http请求 5 本章小结 十 多线程、多进程和线程池编程 1 python 中的 GIL 2 多线程编程 - threading 3 线程间通信 - 共享变量和 Queue 4 线程同步 - Lock、RLock 5 线程同步 - condition 使用以及源码分析 6 线程同步 - Semaphore 使用以及源码分析 7 ThreadPoolExecutor线程池 8 ThreadPoolExecutor源码分析 9 多线程和多进程对比 10 multiprocessing 多进程编程 11 进程间通信 - Queue、Pipe,Manager 12 本章小结 十一 协程和异步io 1 并发、并行、同步、异步、阻塞、非阻塞 2 IO 多路复用 (select、poll 和 epoll) 3 select+回调+事件循环获取html-1 4 select+回调+事件循环获取html-2 5 回调之痛 6 协程是什么 7 生成器进阶-send、close和throw方法 8 生成器进阶-yield from-1 9 生成器进阶-yield from-2 10 生成器实现协程 11 async和await 12 本章小节 十二 asyncio并发编程 1 事件循环-1 2 事件循环-2 3 task取消和子协程调用原理 4 call_soon、call_at、call_later、call_soon_threadsafe 5 ThreadPollExecutor 和 asycio 完成阻塞 IO 请求 6 asyncio 模拟 http 请求 7 future 和 task 8 asyncio同步和通信 9 aiohttp实现高并发爬虫 - 1 10 aiohttp实现高并发爬虫 - 2 11 aiohttp实现高并发爬虫 - 3 12 本章小节 拓展阅读¶ Python3高级核心技术97讲